home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr28 / int9new.zip / KBFXNOTE.TXT < prev   
Text File  |  1993-03-01  |  4KB  |  74 lines

  1. SYMPTOMS:  
  2.  
  3. ANY of the following:  
  4. 1)  The computer does not appear to accept characters until the user taps 
  5.     <Ctrl>, <Alt> or <Shift>.  
  6. 2)  Characters appear in all capitals when <Caps Lock> is off.  
  7. 3)  Typing characters activates menu items in applications as if <Alt> is 
  8.     "stuck."  
  9. 4)  Pressing enhanced keys -- the arrow keys, Home, End, Page Up and Page 
  10.     Down, Insert or Delete -- causes a number to appear.  
  11. 5)  When using enhanced (101-key) keyboards with NUM-lock on, the Left-shift 
  12.     key appears to be "stuck," and tapping this key returns keyboard func-
  13.     tionality to normal.  
  14.  
  15. CAUSE:
  16.  
  17. Scan codes from the keyboard are overwritten before they can be processed 
  18. because too much time elapses before the BIOS keyboard handler can stop the 
  19. keyboard from sending more scan codes.
  20.  
  21. DETAIL:
  22.  
  23. The problem stems from the fact that the enhanced keyboard sends several 
  24. numbers or "scan codes" (4 scan codes for each keystroke when NUMlock is on) 
  25. for each press or release of the key.  A specific scan code, E0, precedes each 
  26. of the others to indicate that the next scan code is to be treated as an 
  27. "enhanced" key.
  28.  
  29. When a key is pressed, these scan codes are sent in rapid succession to the
  30. computer, each generating a request called an interrupt asking for service.  
  31. Each time a specific interrupt occurs, a series of commands called an In-
  32. terrupt Service Routine (ISR) is performed at the processor.  As each scan 
  33. code is received, an IRQ 1 is activated, which invokes the ISR for INT 9.  One 
  34. of the first things the AT-BIOS does is to inhibit the keyboard from sending 
  35. further scan codes until it processes the one it just received.
  36.  
  37. This safety mechanism keeps the system from losing scan codes when the INT 9 
  38. goes directly into the BIOS routine and the keyboard is disabled immediately.  
  39. But applications can "hook" interrupts, which means they can install their own 
  40. interrupt handlers to be executed when interrupts occur.  These programs pass 
  41. the interrupt through to other programs that are hooked into the interrupt, 
  42. one after another, until the request finally reaches the BIOS.
  43.  
  44. Each program that hooks INT 9 takes its turn to look at a given scan code 
  45. before it gets to the BIOS, delaying the request to disable the keyboard.  
  46. During that time, other scan codes can be sent and lost.
  47.  
  48. To further complicate matters, the machine can lose scan codes even after 
  49. the BIOS keyboard handler is invoked.  Before the AT-BIOS handler can stop the 
  50. keyboard from sending more scan codes, it enables the processor to service 
  51. other interrupts (like the timer) during the keyboard ISR.  Provided this new 
  52. interrupt's ISR executes quickly enough and returns control to the keyboard 
  53. handler before the pending scan code is replaced by a new one, no harm is 
  54. done.
  55.  
  56. Many Terminate-Stay-Resident programs (TSRs) such as REDIR.EXE or WPO.EXE hook 
  57. into the timer (INT 8) interrupt and may prolong the time it takes to complete 
  58. its ISR by a substantial amount.  If an INT 8 occurs between the time the BIOS 
  59. reenables interrupts and the time it disables the keyboard, the keyboard is 
  60. likely to send at least one additional scan code, and that scan code may be 
  61. lost.
  62.  
  63. SOLUTION:
  64.  
  65. The symptoms described above can occur with any TSR that significantly prolongs
  66. the amount of time it takes for the machine to process the keyboard interrupt, 
  67. not just with LANtastic software.  Artisoft has written three programs which 
  68. may solve this problem even in situations where LANtastic is not involved.  
  69. KBFIX.EXE, KBFLOW.EXE and KBDFIX.SYS are available with instructions on how 
  70. to use them on the Artisoft BBS in a file called INT9FIX.ZIP, or by calling 
  71. Artisoft Technical Support.  These programs are copyrighted but may be 
  72. distributed freely without modification.
  73.  
  74.